
// The following ifdef block is the standard way of creating macros which make exporting 
// from a DLL simpler. All files within this DLL are compiled with the G723CODECSDK_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see 
// G723CODECSDK_API functions as being imported from a DLL, wheras this DLL sees symbols
// defined with this macro as being exported.
#ifdef G723CODECSDK_EXPORTS
#define G723CODECSDK_API __declspec(dllexport)
#else
#define G723CODECSDK_API __declspec(dllimport)
#endif

G723CODECSDK_API HANDLE WINAPI G723Enc_new(void);
G723CODECSDK_API void WINAPI G723Enc_delete(HANDLE encHandle);

G723CODECSDK_API int WINAPI G723Enc_enc(void *encHandle, short *pcmData, int pcmDataLen, int *done, char *g723StreamBuf, int bufLen);

G723CODECSDK_API HANDLE WINAPI G723Dec_new(void);
G723CODECSDK_API void WINAPI G723Dec_delete(HANDLE decHandle);

G723CODECSDK_API int WINAPI G723Dec_dec(void *decHandle, char *g723Stream, int g723StreamLen, int *done, short *pcmOutBuf, int outBufLen);
